package ${item.getPKGCodeName()}.service

import java.math.BigInteger
import java.util.List
import org.springframework.data.domain.Page

<% item.getAllPSDEMethodDTOs().each{ %>\
import ${sys.getPKGCodeName()}.${item.getPSSystemModule().codeName.toLowerCase()}.dto.${item.realCodeName.toLowerCase()}.${it.realCodeName}
<% } %>\

/**
 * 实体[${item.name}]服务对象接口
 * 
 * 可通过实体运行时对象[${item.realCodeName}DERuntime]进行功能扩展
 */
interface I${item.realCodeName}Service extends net.ibizsys.central.dataentity.service.IDEService<${item.getDefaultPSDEMethodDTO().realCodeName}, ${item.getDefaultPSDEFilterDTO().realCodeName}>{

<% item.getAllPSDEActions().each{ action ->  %>\
    /**
     * 行为: ${action.getLogicName()}
     */
    String ACTION_${action.getName().toUpperCase()} = "${action.getName()}"
<% } %>\
<% item.getAllPSDEDataQueries().each{ query ->  %>\
    /**
     * 查询: ${query.getLogicName()}
     */
    String DATAQUERY_${query.getName().toUpperCase()} = "${query.getName()}"
<% } %>\
<% item.getAllPSDEDataSets().each{ dataset ->  %>\
    /**
     * 集合: ${dataset.getLogicName()}
     */
    String DATASET_${dataset.getName().toUpperCase()} = "${dataset.getName()}"
<% } %>\

<% item.getAllPSDEActions().each{ action ->
        if(action.isEnableBackend()) { %>\
    /**
     * 行为: ${action.getLogicName()}
     */
    ${action.getPSDEActionReturn().javaType} ${action.getCodeName().uncapitalize()}(${action.getPSDEActionInput().input}) throws Throwable
<% }} %>\

<% item.getAllPSDEDataSets().each{ dataset ->
        if(dataset.isEnableBackend()) { %>\
    /**
     * 集合: ${dataset.getLogicName()}
     */
    ${dataset.getPSDEDataSetReturn().javaType} fetch${dataset.getCodeName().capitalize()}(${dataset.getPSDEDataSetInput().getPSDEFilterDTO().realCodeName} dto) throws Throwable
<% }} %>\
}